package com.work.domain;

import java.util.ArrayList;
import java.util.List;

public class CompanyIndexInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CompanyIndexInfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andCidIsNull() {
            addCriterion("cId is null");
            return (Criteria) this;
        }

        public Criteria andCidIsNotNull() {
            addCriterion("cId is not null");
            return (Criteria) this;
        }

        public Criteria andCidEqualTo(Integer value) {
            addCriterion("cId =", value, "cid");
            return (Criteria) this;
        }

        public Criteria andCidNotEqualTo(Integer value) {
            addCriterion("cId <>", value, "cid");
            return (Criteria) this;
        }

        public Criteria andCidGreaterThan(Integer value) {
            addCriterion("cId >", value, "cid");
            return (Criteria) this;
        }

        public Criteria andCidGreaterThanOrEqualTo(Integer value) {
            addCriterion("cId >=", value, "cid");
            return (Criteria) this;
        }

        public Criteria andCidLessThan(Integer value) {
            addCriterion("cId <", value, "cid");
            return (Criteria) this;
        }

        public Criteria andCidLessThanOrEqualTo(Integer value) {
            addCriterion("cId <=", value, "cid");
            return (Criteria) this;
        }

        public Criteria andCidIn(List<Integer> values) {
            addCriterion("cId in", values, "cid");
            return (Criteria) this;
        }

        public Criteria andCidNotIn(List<Integer> values) {
            addCriterion("cId not in", values, "cid");
            return (Criteria) this;
        }

        public Criteria andCidBetween(Integer value1, Integer value2) {
            addCriterion("cId between", value1, value2, "cid");
            return (Criteria) this;
        }

        public Criteria andCidNotBetween(Integer value1, Integer value2) {
            addCriterion("cId not between", value1, value2, "cid");
            return (Criteria) this;
        }

        public Criteria andCnameIsNull() {
            addCriterion("cName is null");
            return (Criteria) this;
        }

        public Criteria andCnameIsNotNull() {
            addCriterion("cName is not null");
            return (Criteria) this;
        }

        public Criteria andCnameEqualTo(String value) {
            addCriterion("cName =", value, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameNotEqualTo(String value) {
            addCriterion("cName <>", value, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameGreaterThan(String value) {
            addCriterion("cName >", value, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameGreaterThanOrEqualTo(String value) {
            addCriterion("cName >=", value, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameLessThan(String value) {
            addCriterion("cName <", value, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameLessThanOrEqualTo(String value) {
            addCriterion("cName <=", value, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameLike(String value) {
            addCriterion("cName like", value, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameNotLike(String value) {
            addCriterion("cName not like", value, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameIn(List<String> values) {
            addCriterion("cName in", values, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameNotIn(List<String> values) {
            addCriterion("cName not in", values, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameBetween(String value1, String value2) {
            addCriterion("cName between", value1, value2, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameNotBetween(String value1, String value2) {
            addCriterion("cName not between", value1, value2, "cname");
            return (Criteria) this;
        }

        public Criteria andCcountIsNull() {
            addCriterion("cCount is null");
            return (Criteria) this;
        }

        public Criteria andCcountIsNotNull() {
            addCriterion("cCount is not null");
            return (Criteria) this;
        }

        public Criteria andCcountEqualTo(String value) {
            addCriterion("cCount =", value, "ccount");
            return (Criteria) this;
        }

        public Criteria andCcountNotEqualTo(String value) {
            addCriterion("cCount <>", value, "ccount");
            return (Criteria) this;
        }

        public Criteria andCcountGreaterThan(String value) {
            addCriterion("cCount >", value, "ccount");
            return (Criteria) this;
        }

        public Criteria andCcountGreaterThanOrEqualTo(String value) {
            addCriterion("cCount >=", value, "ccount");
            return (Criteria) this;
        }

        public Criteria andCcountLessThan(String value) {
            addCriterion("cCount <", value, "ccount");
            return (Criteria) this;
        }

        public Criteria andCcountLessThanOrEqualTo(String value) {
            addCriterion("cCount <=", value, "ccount");
            return (Criteria) this;
        }

        public Criteria andCcountLike(String value) {
            addCriterion("cCount like", value, "ccount");
            return (Criteria) this;
        }

        public Criteria andCcountNotLike(String value) {
            addCriterion("cCount not like", value, "ccount");
            return (Criteria) this;
        }

        public Criteria andCcountIn(List<String> values) {
            addCriterion("cCount in", values, "ccount");
            return (Criteria) this;
        }

        public Criteria andCcountNotIn(List<String> values) {
            addCriterion("cCount not in", values, "ccount");
            return (Criteria) this;
        }

        public Criteria andCcountBetween(String value1, String value2) {
            addCriterion("cCount between", value1, value2, "ccount");
            return (Criteria) this;
        }

        public Criteria andCcountNotBetween(String value1, String value2) {
            addCriterion("cCount not between", value1, value2, "ccount");
            return (Criteria) this;
        }

        public Criteria andCsalarylIsNull() {
            addCriterion("cSalaryL is null");
            return (Criteria) this;
        }

        public Criteria andCsalarylIsNotNull() {
            addCriterion("cSalaryL is not null");
            return (Criteria) this;
        }

        public Criteria andCsalarylEqualTo(String value) {
            addCriterion("cSalaryL =", value, "csalaryl");
            return (Criteria) this;
        }

        public Criteria andCsalarylNotEqualTo(String value) {
            addCriterion("cSalaryL <>", value, "csalaryl");
            return (Criteria) this;
        }

        public Criteria andCsalarylGreaterThan(String value) {
            addCriterion("cSalaryL >", value, "csalaryl");
            return (Criteria) this;
        }

        public Criteria andCsalarylGreaterThanOrEqualTo(String value) {
            addCriterion("cSalaryL >=", value, "csalaryl");
            return (Criteria) this;
        }

        public Criteria andCsalarylLessThan(String value) {
            addCriterion("cSalaryL <", value, "csalaryl");
            return (Criteria) this;
        }

        public Criteria andCsalarylLessThanOrEqualTo(String value) {
            addCriterion("cSalaryL <=", value, "csalaryl");
            return (Criteria) this;
        }

        public Criteria andCsalarylLike(String value) {
            addCriterion("cSalaryL like", value, "csalaryl");
            return (Criteria) this;
        }

        public Criteria andCsalarylNotLike(String value) {
            addCriterion("cSalaryL not like", value, "csalaryl");
            return (Criteria) this;
        }

        public Criteria andCsalarylIn(List<String> values) {
            addCriterion("cSalaryL in", values, "csalaryl");
            return (Criteria) this;
        }

        public Criteria andCsalarylNotIn(List<String> values) {
            addCriterion("cSalaryL not in", values, "csalaryl");
            return (Criteria) this;
        }

        public Criteria andCsalarylBetween(String value1, String value2) {
            addCriterion("cSalaryL between", value1, value2, "csalaryl");
            return (Criteria) this;
        }

        public Criteria andCsalarylNotBetween(String value1, String value2) {
            addCriterion("cSalaryL not between", value1, value2, "csalaryl");
            return (Criteria) this;
        }

        public Criteria andCsalaryhIsNull() {
            addCriterion("cSalaryH is null");
            return (Criteria) this;
        }

        public Criteria andCsalaryhIsNotNull() {
            addCriterion("cSalaryH is not null");
            return (Criteria) this;
        }

        public Criteria andCsalaryhEqualTo(String value) {
            addCriterion("cSalaryH =", value, "csalaryh");
            return (Criteria) this;
        }

        public Criteria andCsalaryhNotEqualTo(String value) {
            addCriterion("cSalaryH <>", value, "csalaryh");
            return (Criteria) this;
        }

        public Criteria andCsalaryhGreaterThan(String value) {
            addCriterion("cSalaryH >", value, "csalaryh");
            return (Criteria) this;
        }

        public Criteria andCsalaryhGreaterThanOrEqualTo(String value) {
            addCriterion("cSalaryH >=", value, "csalaryh");
            return (Criteria) this;
        }

        public Criteria andCsalaryhLessThan(String value) {
            addCriterion("cSalaryH <", value, "csalaryh");
            return (Criteria) this;
        }

        public Criteria andCsalaryhLessThanOrEqualTo(String value) {
            addCriterion("cSalaryH <=", value, "csalaryh");
            return (Criteria) this;
        }

        public Criteria andCsalaryhLike(String value) {
            addCriterion("cSalaryH like", value, "csalaryh");
            return (Criteria) this;
        }

        public Criteria andCsalaryhNotLike(String value) {
            addCriterion("cSalaryH not like", value, "csalaryh");
            return (Criteria) this;
        }

        public Criteria andCsalaryhIn(List<String> values) {
            addCriterion("cSalaryH in", values, "csalaryh");
            return (Criteria) this;
        }

        public Criteria andCsalaryhNotIn(List<String> values) {
            addCriterion("cSalaryH not in", values, "csalaryh");
            return (Criteria) this;
        }

        public Criteria andCsalaryhBetween(String value1, String value2) {
            addCriterion("cSalaryH between", value1, value2, "csalaryh");
            return (Criteria) this;
        }

        public Criteria andCsalaryhNotBetween(String value1, String value2) {
            addCriterion("cSalaryH not between", value1, value2, "csalaryh");
            return (Criteria) this;
        }

        public Criteria andCaddressIsNull() {
            addCriterion("cAddress is null");
            return (Criteria) this;
        }

        public Criteria andCaddressIsNotNull() {
            addCriterion("cAddress is not null");
            return (Criteria) this;
        }

        public Criteria andCaddressEqualTo(String value) {
            addCriterion("cAddress =", value, "caddress");
            return (Criteria) this;
        }

        public Criteria andCaddressNotEqualTo(String value) {
            addCriterion("cAddress <>", value, "caddress");
            return (Criteria) this;
        }

        public Criteria andCaddressGreaterThan(String value) {
            addCriterion("cAddress >", value, "caddress");
            return (Criteria) this;
        }

        public Criteria andCaddressGreaterThanOrEqualTo(String value) {
            addCriterion("cAddress >=", value, "caddress");
            return (Criteria) this;
        }

        public Criteria andCaddressLessThan(String value) {
            addCriterion("cAddress <", value, "caddress");
            return (Criteria) this;
        }

        public Criteria andCaddressLessThanOrEqualTo(String value) {
            addCriterion("cAddress <=", value, "caddress");
            return (Criteria) this;
        }

        public Criteria andCaddressLike(String value) {
            addCriterion("cAddress like", value, "caddress");
            return (Criteria) this;
        }

        public Criteria andCaddressNotLike(String value) {
            addCriterion("cAddress not like", value, "caddress");
            return (Criteria) this;
        }

        public Criteria andCaddressIn(List<String> values) {
            addCriterion("cAddress in", values, "caddress");
            return (Criteria) this;
        }

        public Criteria andCaddressNotIn(List<String> values) {
            addCriterion("cAddress not in", values, "caddress");
            return (Criteria) this;
        }

        public Criteria andCaddressBetween(String value1, String value2) {
            addCriterion("cAddress between", value1, value2, "caddress");
            return (Criteria) this;
        }

        public Criteria andCaddressNotBetween(String value1, String value2) {
            addCriterion("cAddress not between", value1, value2, "caddress");
            return (Criteria) this;
        }

        public Criteria andCphotoIsNull() {
            addCriterion("cPhoto is null");
            return (Criteria) this;
        }

        public Criteria andCphotoIsNotNull() {
            addCriterion("cPhoto is not null");
            return (Criteria) this;
        }

        public Criteria andCphotoEqualTo(String value) {
            addCriterion("cPhoto =", value, "cphoto");
            return (Criteria) this;
        }

        public Criteria andCphotoNotEqualTo(String value) {
            addCriterion("cPhoto <>", value, "cphoto");
            return (Criteria) this;
        }

        public Criteria andCphotoGreaterThan(String value) {
            addCriterion("cPhoto >", value, "cphoto");
            return (Criteria) this;
        }

        public Criteria andCphotoGreaterThanOrEqualTo(String value) {
            addCriterion("cPhoto >=", value, "cphoto");
            return (Criteria) this;
        }

        public Criteria andCphotoLessThan(String value) {
            addCriterion("cPhoto <", value, "cphoto");
            return (Criteria) this;
        }

        public Criteria andCphotoLessThanOrEqualTo(String value) {
            addCriterion("cPhoto <=", value, "cphoto");
            return (Criteria) this;
        }

        public Criteria andCphotoLike(String value) {
            addCriterion("cPhoto like", value, "cphoto");
            return (Criteria) this;
        }

        public Criteria andCphotoNotLike(String value) {
            addCriterion("cPhoto not like", value, "cphoto");
            return (Criteria) this;
        }

        public Criteria andCphotoIn(List<String> values) {
            addCriterion("cPhoto in", values, "cphoto");
            return (Criteria) this;
        }

        public Criteria andCphotoNotIn(List<String> values) {
            addCriterion("cPhoto not in", values, "cphoto");
            return (Criteria) this;
        }

        public Criteria andCphotoBetween(String value1, String value2) {
            addCriterion("cPhoto between", value1, value2, "cphoto");
            return (Criteria) this;
        }

        public Criteria andCphotoNotBetween(String value1, String value2) {
            addCriterion("cPhoto not between", value1, value2, "cphoto");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}